From: Ian Campbell Date: Fri, 16 Mar 2007 10:24:56 +0000 (+0000) Subject: [LINUX] Don't pin the initial page tables on x86_64 when XENFEAT_writable_page_tables. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15282^2~57 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=6b0c303dfec7e59ef0e245deae67dc977414441d;p=xen.git [LINUX] Don't pin the initial page tables on x86_64 when XENFEAT_writable_page_tables. Signed-off-by: Ian Campbell --- diff --git a/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c b/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c index de7c80dfb8..40bd5d235e 100644 --- a/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c +++ b/linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c @@ -597,8 +597,10 @@ void __init xen_init_pt(void) early_make_page_readonly(level2_kernel_pgt, XENFEAT_writable_page_tables); - xen_pgd_pin(__pa_symbol(init_level4_pgt)); - xen_pgd_pin(__pa_symbol(init_level4_user_pgt)); + if (!xen_feature(XENFEAT_writable_page_tables)) { + xen_pgd_pin(__pa_symbol(init_level4_pgt)); + xen_pgd_pin(__pa_symbol(init_level4_user_pgt)); + } set_pgd((pgd_t *)(init_level4_user_pgt + 511), mk_kernel_pgd(__pa_symbol(level3_user_pgt)));